package sicnu.cs.ich.security.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import sicnu.cs.ich.api.domain.form.RoleForm;
import sicnu.cs.ich.security.domain.entity.Role;

import java.util.List;
import java.util.Set;


/**
 * @author CaiKe
 */
@Mapper
public interface RoleMapper extends BaseMapper<Role> {

    /**
     * 查找角色
     *
     * @param userid 用户id
     * @return 角色集合
     */
    List<Role> findRolesByUserid(@Param("userid") Integer userid);

    /**
     * 获取所有角色信息
     */
    List<Role> findRoles();

    /**
     * 查询角色是否存在
     */
    int countRole(String role);

    int addRole(RoleForm roleForm);

    /**
     * 权限id
     */
    int addPermission(@Param("roleId") Integer roleId,@Param("permissionIds") Integer[] permissionIds);

    /**
     * 删除角色下所有的用户id
     * @param roleId 用户id
     */
    void deleteRoleUser(Integer roleId);
}
